package com.ep.instruktor.harmonogram;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import com.ep.general.kursant.KursantMdt;
import com.ep.instruktor.harmonogram.db.HarmonogramKursant;
import com.ep.instruktor.harmonogram.db.HarmonogramKursu;
import com.ep.instruktor.plac.PlacManewrowyMdt;
import com.google.gson.Gson;

public class HarmonogramKursuForm {

	private HarmonogramKursu data;

	public HarmonogramKursuForm() {
		data = new HarmonogramKursu();
	}

	public HarmonogramKursu getData() {
		if (data == null)
			data = new HarmonogramKursu();
		return data;
	}

	public void setData(HarmonogramKursu data) {
		this.data = data;
	}

	public int getPlacManewrowyId() {
		if (getData().getPlacManewrowy() == null)
			return 0;
		return getData().getPlacManewrowy().getId();
	}

	public void setPlacManewrowyId(int placId) {
		getData().setPlacManewrowy(new PlacManewrowyMdt().get(placId));
	}

	public Date getDate() {
		return getData().getData();
	}

	public void setDate(Date date) {
		getData().setData(date);
	}

	public String getGodzinaPoczatkowa() {
		return getData().getGodzinaPoczatkowa();
	}

	public void setGodzinaPoczatkowa(String godzinaPoczatkowa) {
		getData().setGodzinaPoczatkowa(godzinaPoczatkowa);
	}

	public String getGodzinaKoncowa() {
		return getData().getGodzinaKoncowa();
	}

	public void setGodzinaKoncowa(String godzinaKoncowa) {
		getData().setGodzinaKoncowa(godzinaKoncowa);
	}

	public String getKursanci() {
		StringBuilder sb = new StringBuilder();
		sb.append("[");
		for (HarmonogramKursant item : getData().getKursanci()) {
			sb.append(item.getKursant().getId());
			sb.append(",");
		}
		if (!(sb.length() == 1)) {
			sb.deleteCharAt(sb.length() - 1);
		}
		sb.append("]");
		return sb.toString();
	}

	public void setKursanci(String kursanci) {
		int[] kursanciId = new Gson().fromJson(kursanci, int[].class);

		KursantMdt kursantMdt = new KursantMdt();
		Set<HarmonogramKursant> set = new HashSet<HarmonogramKursant>();
		HarmonogramKursant item = null;
		for (int id : kursanciId) {
			item = new HarmonogramKursant();
			item.setKursant(kursantMdt.get(id));

			set.add(item);
		}
		getData().setKursanci(set);
	}

}
